package br.com.gaspar.mb;

import gov.sefaz.utils.exception.BaseException;
import gov.sefaz.visao.jsf.ManagedBeanBase;

import javax.annotation.PostConstruct;
import javax.ejb.EJB;
import javax.enterprise.context.SessionScoped;
import javax.inject.Named;

import br.com.gaspar.bo.iface.IUsuarioBO;
import br.com.gaspar.entidade.Usuario;

@Named("UsuarioMB")
@SessionScoped
public class UsuarioMB extends ManagedBeanBase<Usuario> {
	
	protected Boolean exibirSenha = true;
	
	private Integer contador = null;
	
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;

	@EJB
	private IUsuarioBO<Usuario> bo;
	
	@Override
	protected IUsuarioBO<Usuario> getFachada() {
		return bo;
	}

	@PostConstruct
	@Override
	public void iniciar() {
		super.iniciar();
	}
	
	@Override
	protected void criarAntes() throws BaseException {
		entidade = new Usuario();
		setExibirSenha(true);
		super.criarAntes();
	}

	
	@Override
	protected void editarAntes() throws BaseException {
		setExibirSenha(false);
		super.editarAntes();
	}

	public Boolean getExibirSenha() {
		return exibirSenha;
	}

	public void setExibirSenha(Boolean exibirSenha) {
		this.exibirSenha = exibirSenha;
	}
	
	@Override
	public String listar() {
		String resultado = super.listar();
		contador = getLista().getRowCount();
		return resultado;
	}

	public Integer getContador() {
		return contador;
	}

	public void setContador(Integer contador) {
		this.contador = contador;
	}
}
